package com.quectel.core.module.patrol.dto;

import com.quectel.core.module.village.dto.VillageDto;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 视频巡逻计划
 *
 * @author caolu
 * @email louis.cao@quectel.com
 * @date 2020-07-07 15:47:28
 */
@Data
public class VideoPatrolPlanDto implements Serializable {

    /**
     *
     */
    private Long id;
    /**
     * 租户id
     */
    private String tenantId;
    /**
     * 所属小区
     */
    private Long villageId;
    /**
     * 计划名称
     */
    @NotEmpty
    @Length(min = 1, max = 80)
    private String name;
    /**
     * 路线id
     */
    @NotNull
    private String videoPatrolRouteId;
    /**
     * 计划开始时间
     */
    @NotNull
    private Date startTime;
    /**
     * 计划结束时间
     */
    @NotNull
    private Date endTime;
    /**
     * 执行人id
     */
    @NotNull
    private Long execUserId;
    /**
     * 执行人姓名
     */
    private String execUsername;
    /**
     * 每周工作计划[1,3,7]
     */
    @NotEmpty
    private String weekPlan;
    /**
     * 视频播放时长
     */
    @NotNull
    private Integer videoPlayDuration;
    /**
     * 时间段配置[03:00-06:00]
     */
    @NotEmpty
    private String dayPeriodArr;
    /**
     *
     */
    private String creator;
    /**
     *
     */
    private Date createTime;
    /**
     *
     */
    private String editor;
    /**
     *
     */
    private Date editTime;

    private VillageDto villageDto;

    private VideoPatrolRouteDto videoPatrolRouteDto;

}
